// 数据库操作相关服务
package xgodb

import (
	"gitee.com/xiaoyutab/xgotool/xgodb/xgodbconfig"
	"gitee.com/xiaoyutab/xgotool/xgodb/xgodbkv"
	"gorm.io/gorm"
)

// 数据库相关配置
type Config struct {
	DB              *gorm.DB
	ConfigTable     string                  // 配置表名称
	ConfigUserTable string                  // 用户配置存储表
	KeyValue        string                  // key_value表存储名称
	ConfigEdit      func(name string) error // 配置项修改的回调函数
}

// 配置信息注册
func Regedit(c *Config) {
	if c != nil {
		xgodbconfig.Regedit(&xgodbconfig.Config{
			DB:              c.DB,
			ConfigTable:     c.ConfigTable,
			ConfigUserTable: c.ConfigUserTable,
			ConfigEdit:      c.ConfigEdit,
		})
		xgodbkv.Regedit(&xgodbkv.Config{
			DB:      c.DB,
			KVTable: c.KeyValue,
		})
	}
}
